package com.key.common.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.sql.Timestamp;

/**
 * @author wei
 * @create 2023-02-19 16:41
 */
@ApiModel(value = "资产新建和修改的资产列表")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class AssetsAddDTO {

    @ApiModelProperty(name = "assetsId",notes = "资产主键ID")
    private Long assetsId;
    //private Integer assetsState;                //资产状态(1:闲置，2:在用，3:损坏，4:报修，5:维修中，6:报废)
    @ApiModelProperty(name = "assetsPhoto",notes = "资产照片",required = true)
    private String assetsPhoto;

    @ApiModelProperty(name = "assetsCode",notes = "资产编码",required = true)
    private String assetsCode;

    @ApiModelProperty(name = "assetsName",notes = "资产名称",required = true)
    private String assetsName;

    //private String assetsRFID;                  //资产的RFID
    @ApiModelProperty(name = "assetsSerialNumber",notes = "资产序列号(SN号)",required = true)
    private String assetsSerialNumber;

    @ApiModelProperty(name = "assetsMoney",notes = "资产金额",required = true)
    private BigDecimal assetsMoney;

    @ApiModelProperty(name = "assetsEmployeeName",notes = "资产使用人",required = true)
    private String assetsEmployeeName;

    @ApiModelProperty(name = "assetsStorageLocation",notes = "资产存放地",required = true)
    private String assetsStorageLocation;

    @ApiModelProperty(name = "assetsManagerName",notes = "资产管理员",required = true)
    private String assetsManagerName;

    @ApiModelProperty(name = "assetsAdminName",notes = "资产所属公司",required = true)
    private String assetsAdminName;

    @ApiModelProperty(name = "assetsPurchaseDate",notes = "资产购入日期",required = true,value = "yyyy-MM-dd")
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd",timezone="GMT+8")
    private Timestamp assetsPurchaseDate;

    @ApiModelProperty(name = "assetsServiceLife",notes = "资产使用期限",required = true)
    private Integer assetsServiceLife;

    @ApiModelProperty(name = "assetsSource",notes = "资产来源",required = true)
    private String assetsSource;

    @ApiModelProperty(name = "assetsCreaterName",notes = "资产创建人",required = true)
    private String assetsCreaterName;

    //private Timestamp assetsCreateTime;         //资产创建日期
    @ApiModelProperty(name = "assetsReceiptNo",notes = "资产收货单号",required = true)
    private String assetsReceiptNo;

    //private String assetsSignatureStatus;       //资产签字状态
    //private Integer assetsEmpId;                //资产使用人编号
    @ApiModelProperty(name = "assetsRemarks",notes = "资产备注",required = true)
    private String assetsRemarks;

    @ApiModelProperty(name = "assetsEnclosure",notes = "资产附件",required = true)
    private String assetsEnclosure;

    @ApiModelProperty(name = "assetsRegionName",notes = "资产区域",required = true)
    private String assetsRegionName;

    @ApiModelProperty(name = "assetsModelName",notes = "资产型号",required = true)
    private String assetsModelName;

    //private Long assetsMaintenanceInfoId;       //资产维保主键id

    ////id
    //private Integer id;

    @ApiModelProperty(name = "supplier",notes = "供应商",required = true)
    private String supplier;

    @ApiModelProperty(name = "contacts",notes = "联系人",required = true)
    private String contacts;

    @ApiModelProperty(name = "contactInfo",notes = "联系方式",required = true)
    private String contactInfo;

    @ApiModelProperty(name = "personInCharge",notes = "负责人",required = true)
    private String personInCharge;

    @ApiModelProperty(name = "expirationTime",notes = "维保到期时间",required = true,value = "yyyy-MM-dd")
    @JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd",timezone="GMT+8")
    private Timestamp expirationTime;

    @ApiModelProperty(name = "explain",notes = "维保说明",required = true)
    private String explain;

}
